home *** CD-ROM | disk | FTP | other *** search
/ Computer Inter@ctive 17 / Computer Interactive cdrom 17 - gen 99.iso / ZDNETIT / CONTENT / OPTIVDOS.ZIP / INCLUDE.ZIP / VUSMATH.H < prev    next >
Encoding:
C/C++ Source or Header  |  1998-10-21  |  3.3 KB  |  81 lines

  1. /*  VUSmath.h
  2.  
  3.   vector management functions for data type "unsigned short":
  4.   integer arithmetics and mathematics.
  5.  
  6.   Copyright (c) 1996-1998 by Martin Sander
  7.   All Rights Reserved.
  8. */
  9.  
  10. #ifndef __VUSMATH_H
  11. #define __VUSMATH_H
  12.  
  13. #if !defined( __VECLIB_H )
  14.    #include <VecLib.h>
  15. #endif
  16.  
  17. #ifdef __cplusplus
  18.    extern "C" {
  19. #endif
  20.  
  21. /******************   Basic  Arithmetics   *************************/
  22.  
  23. void  __vf  VUSo_addC(  usVector Y, usVector X, ui size, unsigned short C );
  24. void  __vf  VUSo_subC(  usVector Y, usVector X, ui size, unsigned short C );
  25. void  __vf  VUSo_subrC( usVector Y, usVector X, ui size, unsigned short C );
  26. void  __vf  VUSo_mulC(  usVector Y, usVector X, ui size, unsigned short C );
  27. #ifdef V_trapIntError
  28.     #define VUS_addC     VUSo_addC
  29.     #define VUS_subC     VUSo_subC
  30.     #define VUS_subrC    VUSo_subrC
  31.     #define VUS_mulC     VUSo_mulC
  32. #else
  33.     void  __vf  VUS_addC(  usVector Y, usVector X, ui size, unsigned short C );
  34.     void  __vf  VUS_subC(  usVector Y, usVector X, ui size, unsigned short C );
  35.     void  __vf  VUS_subrC( usVector Y, usVector X, ui size, unsigned short C );
  36.     void  __vf  VUS_mulC(  usVector Y, usVector X, ui size, unsigned short C );
  37. #endif
  38.  
  39. void  __vf  VUS_divC(  usVector Y, usVector X, ui size, unsigned short C );
  40. void  __vf  VUS_divrC( usVector Y, usVector X, ui size, unsigned short C );
  41. void  __vf  VUS_modC(  usVector Y, usVector X, ui size, unsigned short C );
  42. void  __vf  VUS_maxC(  usVector Y, usVector X, ui size, unsigned short C );
  43. void  __vf  VUS_minC(  usVector Y, usVector X, ui size, unsigned short C );
  44.  
  45. void    __vf  VUSo_addV(  usVector Z, usVector X, usVector Y, ui size );
  46. void    __vf  VUSo_subV(  usVector Z, usVector X, usVector Y, ui size );
  47. void    __vf  VUSo_subrV( usVector Z, usVector X, usVector Y, ui size );
  48. void    __vf  VUSo_mulV(  usVector Z, usVector X, usVector Y, ui size );
  49. #ifdef V_trapIntError
  50.     #define VUS_addV    VUSo_addV
  51.     #define VUS_subV    VUSo_subV
  52.     #define VUS_subrV   VUSo_subrV
  53.     #define VUS_mulV    VUSo_mulV
  54. #else
  55.     void __vf  VUS_addV(  usVector Z, usVector X, usVector Y, ui size );
  56.     void __vf  VUS_subV(  usVector Z, usVector X, usVector Y, ui size );
  57.     void __vf  VUS_subrV( usVector Z, usVector X, usVector Y, ui size );
  58.     void __vf  VUS_mulV(  usVector Z, usVector X, usVector Y, ui size );
  59. #endif
  60. void    __vf  VUS_divV(  usVector Z, usVector X, usVector Y, ui size );
  61. void    __vf  VUS_divrV( usVector Z, usVector X, usVector Y, ui size );
  62. void    __vf  VUS_modV(  usVector Z, usVector X, usVector Y, ui size );
  63. void    __vf  VUS_maxV(  usVector Z, usVector X, usVector Y, ui size );
  64. void    __vf  VUS_minV(  usVector Z, usVector X, usVector Y, ui size );
  65.  
  66.  
  67. /*****************   Bit-wise operations  *********************/
  68.  
  69. void    __vf  VUS_shl( usVector Y, usVector X, ui size, unsigned C );
  70. void    __vf  VUS_shr( usVector Y, usVector X, ui size, unsigned C );
  71.  
  72. void    __vf  VUS_and( usVector Y, usVector X, ui size, unsigned short C );
  73. void    __vf  VUS_or(  usVector Y, usVector X, ui size, unsigned short C );
  74. void    __vf  VUS_xor( usVector Y, usVector X, ui size, unsigned short C );
  75. void    __vf  VUS_not( usVector Y, usVector X, ui size );
  76.  
  77. #ifdef __cplusplus
  78. }
  79. #endif
  80.  
  81. #endif   /*  __VUSMATH_H    */